package com.wicket.okrbff.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.wicket.okrbff.biz.service.MobileFrameworkService;
import com.wicket.okrbff.biz.service.dto.req.*;
import com.wicket.okrbff.biz.service.dto.res.*;
import com.wicket.okrbff.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.wicket.okrframework.integration.FwBaseMobileFrameworkClient;
import com.wicket.okrframework.integration.dto.QuerySpaceIdLookupDetailComRespDto;
import com.wicket.okrframework.integration.dto.QuerySpaceIdLookupDetailComReqDto;
import com.wicket.okrbff.common.exception.Assert;
import com.wicket.okrcomponent.integration.FwCompConfSchemeClient;
import com.wicket.okrcomponent.integration.dto.QueryFrameNavMenusListRespDto;
import com.wicket.okrcomponent.integration.dto.QueryFrameNavMenusListReqDto;
import com.wicket.okrcomponent.integration.dto.JudgeUcdMenuBorderRespDto;
import com.wicket.okrcomponent.integration.dto.JudgeUcdMenuBorderReqDto;
import com.wicket.okrcomponent.integration.FwCompMobileFrameworkClient;
import com.wicket.okrcomponent.integration.dto.QueryMobileMainNavigationListComRespDto;
import com.wicket.okrcomponent.integration.dto.QueryMobileMainNavigationListComReqDto;
import com.wicket.okrcomponent.integration.dto.MainNavMenusDto;
import com.wicket.okrbff.biz.service.dto.common.BffAdjustMainNavigationSortingDto;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.wicket.okrbff.common.util.CommonFunctionHelper;
import com.wicket.okrframework.integration.dto.QueryMobileCurrentUserEmploymentRecordListComRespDto;
import com.wicket.okrframework.integration.dto.QueryMobileCurrentUserEmploymentRecordListComReqDto;
import com.wicket.okrcomponent.integration.FwCompMobileEndShellClient;
import com.wicket.okrcomponent.integration.dto.ImplementGroupDeduplicationRecordCircularCombinationDeptComRespDto;
import com.wicket.okrcomponent.integration.dto.ImplementGroupDeduplicationRecordCircularCombinationDeptComReqDto;
import com.wicket.okrframework.integration.FwBaseMemberClient;
import com.wicket.okrframework.integration.dto.BatchQueryMemberProfileListByIdsComRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryMemberProfileListByIdsComReqDto;
import com.wicket.okrframework.integration.FwBaseOrgClient;
import com.wicket.okrframework.integration.dto.BatchQueryDeptListRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryDeptListReqDto;
import com.wicket.okrcalc.integration.dto.DataSetsListOneDto;
import com.wicket.okrcomponent.integration.dto.DataSetsListTwoDto;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@Api(value = "MobileFramework", tags = { "MobileFramework" })
@RestController
// @RequestMapping("/oms/mobileFramework/")
public class MobileFrameworkController {

  @Autowired
  MobileFrameworkService mobileFrameworkService;
/**
   * B1查询空间编号查空间ID详情
   * gen by moon at 4/1/2024, 2:17:57 AM
   */
    @PostMapping("/oms/mobileFramework/querySpaceIdLookupDetail")
    @ApiOperation(value = "B1查询空间编号查空间ID详情", response = OkrResult.class)
    public OkrResult<BffQuerySpaceIdLookupDetailRespDto> querySpaceIdLookupDetail(@RequestBody(required=false) @Validated BffQuerySpaceIdLookupDetailReqDto reqDTO){
        return OkrResult.success(mobileFrameworkService.querySpaceIdLookupDetail(reqDTO));
    }
/**
   * B2查询移动端主导航列表
   * gen by moon at 4/1/2024, 2:39:29 AM
   */
    @PostMapping("/oms/mobileFramework/queryMobileMainNavigationList")
    @ApiOperation(value = "B2查询移动端主导航列表", response = OkrResult.class)
    public OkrResult<BffQueryMobileMainNavigationListRespDto> queryMobileMainNavigationList(@RequestBody(required=false) @Validated BffQueryMobileMainNavigationListReqDto reqDTO){
        return OkrResult.success(mobileFrameworkService.queryMobileMainNavigationList(reqDTO));
    }
/**
   * B1执行移动端当前用户就职记录
   * gen by moon at 4/3/2024, 12:01:03 AM
   */
    @PostMapping("/oms/mobileFramework/implementMobileCurrentUserEmploymentRecord")
    @ApiOperation(value = "B1执行移动端当前用户就职记录", response = OkrResult.class)
    public OkrResult<BffImplementMobileCurrentUserEmploymentRecordRespDto> implementMobileCurrentUserEmploymentRecord(@RequestBody(required=false) @Validated BffImplementMobileCurrentUserEmploymentRecordReqDto reqDTO){
        return OkrResult.success(mobileFrameworkService.implementMobileCurrentUserEmploymentRecord(reqDTO));
    }
}
